In a data base management system, for example, for storing, updating and retrieval of information, such as data items stored in the form of records in one or more files, unexpected system shutdown may result in corruption of the data base and cause problems in restarting the data base management system. One well-known technique is to make a permanent updated record of the data base at fixed intervals of time, such as the beginning of a day, or the start of a new shift, or other convenient time. If the system experiences a shutdown due to power failure or some other problem, an uncorrupted data base can be duplicated using the backup recording and then repeating the operations that modify the data base from the time of the last backup recording. Such a system has obvious drawbacks in that duplicating a single day's or single shift operation to update the data base at best may involve many man-hours of effort and at worse may be impossible to reconstruct.
The concept of checkpointing has been proposed which provides for automatically halting processing at controlled intervals to make a magnetic tape or disk recording of the condition of all variables of the machine run. In the event of an error or interruption, restart procedures make it possible to continue processing from the last checkpoint rather than from the beginning of the machine run. Such known checkpointing techniques are under automatic system control in which checkpoints are established at processing intervals based on a certain number of items, transactions, or records having been processed. At each checkpoint, input and output records must be recorded along with the contents of storage areas and memory, as well as the contents of counters and registers in the processor. After an error or other interruption, the accuracy of processing up to that point must be verified and a restart procedure selected which re-enters the main routine at that point.